package com.cn.system.common.dto;

import java.io.Serializable;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @Company <Jinher Technology Development Company LTD.>
 * @Project jcs
 * @version <1.0>
 * @Author <joe>
 * @Date Jun 12, 2009
 * @description <登录后的用户信息>
 * 
 */

public class UserInfo implements Serializable {

	private static final long serialVersionUID = 1L;
	private String userId = ""; //用户ID
	private String userName = ""; //用户名称
	private String accounts = "";//用户账号
	private String userCode; //用户编码
	private String commOrgLevel = "";//用户层级码
	private String commOrgIdenty = "";//用户机构码
	private Date loginTime;//登录时间 
	private String pwModifyDate;//密码修改时间
	private String isGps;//是否默认开启GPS
	private String isManager;//是否管理员
	private String telphone;//固定电话
	private String mobile;//移动电话(新增)
	private String qq;//QQ(新增)
	private String msn;//MSN(新增)
	private String email;//EMAIL(新增)
	private String birthday;//生日(新增)
	private String sex;//性别(新增)
	private String deptId;//部门ID
	private String deptName;//部门名称
	private String deptCode;//部门编码
	private String systemType;//用户登录的系统类型(新增)
	private String userImg;
	private String largeUserImg;
	/**
	 * 所属机构ID
	 */
	private String levelGroupId;
	/**
	 * 所属机构的名称
	 */
	private String levelGroupName;
	/**客服系统新加字段**/
	private String jobNumber;
	private String txtPwd;
	private String txtExt;
	/**客服系统新加字段**/
	/**------------------以下为不再使用的属性-----------------**/
	private String token = null;
	private String currentIpAddress = null;
	private String themeUrl = "";
	private String imageUrl = "";
	private String position = "";
	private String positionName = "";
	private String userType = "";
	private String userIsOnline;
	private String status = "";
	private String sysFlag;
	private String pwExpireFlag;
	private Integer pwPeriod;
	private String userPath;
	private Long sortNum;
	private String defaultPortal;
	private String isAndroidLogin = "0";//标识android登录状态，"1"为登录
	/**外勤管理新增 换肤字段**/
	private String userTheme;
	/**外勤管理新增 换肤字段**/
	
	/**营业收费新增字段**/
	private String yysCode;
	private Map<String,Object> yys;
	
	/**
	 * 用于存储其他属性的值
	 */
	private Map<String,Object> dataMap=new HashMap<String,Object>();

	@SuppressWarnings("unchecked")
	private List roleList = null;
	/*@SuppressWarnings("unchecked")
	private Map parameters = null;*/
	
	public UserInfo() {
		super();
	}

	public UserInfo(String userId, String userName, String deptName) {
		super();
		this.userId = userId;
		this.userName = userName;
		this.deptName = deptName;
	}

	/**
	 * @return Returns the deptId.
	 */
	public String getDeptId() {
		return deptId;
	}

	/**
	 * @param deptId
	 *            The deptId to set.
	 */
	public void setDeptId(String deptId) {
		this.deptId = deptId;
	}

	/**
	 * @return Returns the status.
	 */
	public String getStatus() {
		return status;
	}

	/**
	 * @param status
	 *            The status to set.
	 */
	public void setStatus(String status) {
		this.status = status;
	}

	public String getUserCode() {
		return userCode;
	}

	public void setUserCode(String userCode) {
		this.userCode = userCode;
	}

	/**
	 * @return Returns the userId.
	 */
	public String getUserId() {
		return userId;
	}

	/**
	 * @param userId
	 *            The userId to set.
	 */
	public void setUserId(String userId) {
		this.userId = userId;
	}

	/**
	 * @return Returns the userName.
	 */
	public String getUserName() {
		return userName;
	}

	/**
	 * @param userName
	 *            The userName to set.
	 */
	public void setUserName(String userName) {
		this.userName = userName;
	}

	/**
	 * @return Returns the userType.
	 */
	public String getUserType() {
		return userType;
	}

	/**
	 * @param userType
	 *            The userType to set.
	 */
	public void setUserType(String userType) {
		this.userType = userType;
	}

	/**
	 * @return 请求的参数 parameter
	 */
	/*public Object getParameter(String name) {
		if (parameters == null)
			return null;
		else {
			return parameters.get(name);
		}
	}*/

	/**
	 * @param parameters
	 *            the parameters to set
	 */
	/*@SuppressWarnings("unchecked")
	public void setParameters(Map parameters) {
		this.parameters = parameters;
	}*/

	public String getToken() {
		return token;
	}

	public void setToken(String token) {
		this.token = token;
	}

	public String getCurrentIpAddress() {
		return currentIpAddress;
	}

	public void setCurrentIpAddress(String currentIpAddress) {
		this.currentIpAddress = currentIpAddress;
	}

	public String getAccounts() {
		return accounts;
	}

	public void setAccounts(String accounts) {
		this.accounts = accounts;
	}

	public String getSysFlag() {
		return sysFlag;
	}

	public void setSysFlag(String sysFlag) {
		this.sysFlag = sysFlag;
	}

	public String getIsManager() {
		return isManager;
	}

	public void setIsManager(String isManager) {
		this.isManager = isManager;
	}

	public String getThemeUrl() {
		return themeUrl;
	}

	public void setThemeUrl(String themeUrl) {
		this.themeUrl = themeUrl;
	}

	public String getCommOrgLevel() {
		return commOrgLevel;
	}

	public void setCommOrgLevel(String commOrgLevel) {
		this.commOrgLevel = commOrgLevel;
	}

	public String getCommOrgIdenty() {
		return commOrgIdenty;
	}

	public void setCommOrgIdenty(String commOrgIdenty) {
		this.commOrgIdenty = commOrgIdenty;
	}

	@SuppressWarnings("unchecked")
	public void setRoleList(List roleList) {
		this.roleList = roleList;
	}

	@SuppressWarnings("unchecked")
	public List getRoleList() {
		return roleList;
	}

	public String getPosition() {
		return position;
	}

	public void setPosition(String position) {
		this.position = position;
	}

	public String getUserIsOnline() {
		return userIsOnline;
	}

	public void setUserIsOnline(String userIsOnline) {
		this.userIsOnline = userIsOnline;
	}

	public String getDeptName() {
		return deptName;
	}

	public void setDeptName(String deptName) {
		this.deptName = deptName;
	}

	public Date getLoginTime() {
		return loginTime;
	}

	public void setLoginTime(Date loginTime) {
		this.loginTime = loginTime;
	}

	public boolean isAdmin() {
		return "admin".equals(this.accounts);
	}

	public String getUserPath() {
		return userPath;
	}

	public void setUserPath(String userPath) {
		this.userPath = userPath;
	}

	public String getLevelGroupId() {
		return levelGroupId;
	}

	public void setLevelGroupId(String levelGroupId) {
		this.levelGroupId = levelGroupId;
	}

	public String getLevelGroupName() {
		return levelGroupName;
	}

	public void setLevelGroupName(String levelGroupName) {
		this.levelGroupName = levelGroupName;
	}

	public String getUserImg() {
		return userImg;
	}

	public void setUserImg(String userImg) {
		this.userImg = userImg;
	}

	public String getPositionName() {
		return positionName;
	}

	public void setPositionName(String positionName) {
		this.positionName = positionName;
	}

	public String getImageUrl() {
		return imageUrl;
	}

	public void setImageUrl(String imageUrl) {
		this.imageUrl = imageUrl;
	}

	public String getLargeUserImg() {
		return largeUserImg;
	}

	public void setLargeUserImg(String largeUserImg) {
		this.largeUserImg = largeUserImg;
	}

	public String getTelphone() {
		return telphone;
	}

	public void setTelphone(String telphone) {
		this.telphone = telphone;
	}

	public Long getSortNum() {
		return sortNum;
	}

	public void setSortNum(Long sortNum) {
		this.sortNum = sortNum;
	}

	public String getDefaultPortal() {
		return defaultPortal;
	}

	public void setDefaultPortal(String defaultPortal) {
		this.defaultPortal = defaultPortal;
	}

	public String getPwExpireFlag() {
		return pwExpireFlag;
	}

	public void setPwExpireFlag(String pwExpireFlag) {
		this.pwExpireFlag = pwExpireFlag;
	}

	public Integer getPwPeriod() {
		return pwPeriod;
	}

	public void setPwPeriod(Integer pwPeriod) {
		this.pwPeriod = pwPeriod;
	}

	public String getPwModifyDate() {
		return pwModifyDate;
	}

	public void setPwModifyDate(String pwModifyDate) {
		this.pwModifyDate = pwModifyDate;
	}

	public String getIsAndroidLogin() {
		return isAndroidLogin;
	}

	public void setIsAndroidLogin(String isAndroidLogin) {
		this.isAndroidLogin = isAndroidLogin;
	}
	
	public String getJobNumber() {
		return jobNumber;
	}

	public void setJobNumber(String jobNumber) {
		this.jobNumber = jobNumber;
	}

	public String getTxtPwd() {
		return txtPwd;
	}

	public void setTxtPwd(String txtPwd) {
		this.txtPwd = txtPwd;
	}

	public String getTxtExt() {
		return txtExt;
	}

	public void setTxtExt(String txtExt) {
		this.txtExt = txtExt;
	}
	
	public String getUserTheme() {
		return userTheme;
	}

	public void setUserTheme(String userTheme) {
		this.userTheme = userTheme;
	}

	public String getDeptCode() {
		return deptCode;
	}

	public void setDeptCode(String deptCode) {
		this.deptCode = deptCode;
	}

	public String getIsGps() {
		return isGps;
	}

	public void setIsGps(String isGps) {
		this.isGps = isGps;
	}

	public String getMobile() {
		return mobile;
	}

	public void setMobile(String mobile) {
		this.mobile = mobile;
	}
	public String getSystemType() {
		return systemType;
	}

	public void setSystemType(String systemType) {
		this.systemType = systemType;
	}
	
	public String getQq() {
		return qq;
	}

	public void setQq(String qq) {
		this.qq = qq;
	}

	public String getMsn() {
		return msn;
	}

	public void setMsn(String msn) {
		this.msn = msn;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public String getBirthday() {
		return birthday;
	}

	public void setBirthday(String birthday) {
		this.birthday = birthday;
	}
	
	public String getSex() {
		return sex;
	}

	public void setSex(String sex) {
		this.sex = sex;
	}
	
	public String getYysCode() {
		return yysCode;
	}

	public void setYysCode(String yysCode) {
		this.yysCode = yysCode;
	}

	public Map<String, Object> getYys() {
		return yys;
	}

	public void setYys(Map<String, Object> yys) {
		this.yys = yys;
	}
	
	public Map<String, Object> getDataMap() {
		return dataMap;
	}

	public void setDataMap(Map<String, Object> dataMap) {
		this.dataMap = dataMap;
	}
	
}
